Select a Test Flow (10 Total)
Overview
E2E-1 Happy Path 0/4
E2E-2 New Member 0/3
E2E-3 Portal Pay 0/2
E2E-4 Prorated 0/2
E2E-5 15-for-12 0/2
E2E-6 Start-Up 0/2
E2E-7 Adjustments 0/2
E2E-8 Chapter-Only 0/1
E2E-9 Monthly National 0/2
E2E-10 Edge Cases 0/5
Membership & Dues — E2E Test Flows
10 end-to-end test flows covering the complete M&D lifecycle: from dues year setup through national reporting. Each flow is a real-world business scenario you can execute start to finish. Click any flow to begin.

E2E-1: Happy Path (Full Cycle)

Complete dues lifecycle: setup year → batch invoices → collect payment → report to national. The "golden path" every tester should run first.

4 Test Cases Chapter Staff ~30 min

E2E-2: New Member Onboarding

New company joins mid-cycle: create member → generate invoice → member pays via portal → chapter reports.

3 Test Cases Chapter + Portal ~20 min

E2E-3: Portal Payment Flow

Member logs into portal, reviews open invoices, makes payment via credit card, views receipt and history.

2 Test Cases Portal ~15 min

E2E-4: Prorated Second Year

Member joins mid-year and gets a prorated invoice using the (Months Remaining / 12) × Annual formula.

2 Test Cases Invoicing ~15 min

E2E-5: 15-for-12 Program

Member joins Oct/Nov/Dec and pays for remainder of current year + full next year in one invoice.

2 Test Cases Special Pricing ~15 min

E2E-6: Start-Up Contractor

Verify Start-Up Contractor type has been REMOVED from system as per business decision.

2 Test Cases Negative Test ~10 min

E2E-7: Invoice Adjustments

Edit invoice amounts (increase, decrease, zero out), void invoices, recalculate after category change.

2 Test Cases Invoicing ~20 min

E2E-8: Chapter-Only Members

Members that exist only at chapter level — verify XREF validation prevents national reporting.

1 Test Case Validation ~10 min

E2E-9: National Monthly Processing

National staff reviews chapter submissions, approves, publishes to Wells Fargo, handles exceptions.

2 Test Cases National Staff ~20 min

E2E-10: Edge Cases

Grace period payments, life members, PAC state values, email templates, and other boundary conditions.

5 Test Cases Edge Cases ~25 min
E2E-1: Happy Path (Full Dues Cycle)
Tests the complete dues lifecycle from initial setup through national reporting. This is the "golden path" — the most common workflow that every chapter executes annually. Run this flow first to validate core functionality.
Chapter Staff Dues Year Setup Batch Invoicing Payments National Reporting CRITICAL PRIORITY
TC-1.1 Dues Year Setup — Create Year, Categories, Line Items, Discounts HYBRID ▶ RUN TEST
Preconditions
  • A previous dues year exists with complete setup (categories, line items, discounts, memos)
  • Logged in as Chapter Staff with admin permissions
Navigate to Dues Admin Landing Screen. Select "Create New Dues Year" and choose previous year to copy from.
Expected: Green icons appear for all populated sections (Categories, Line Items, Discounts, Memos). "Copy All" button is available.
Click "Copy All" to bulk copy configuration from previous year.
Expected: All components copied. Select new year from dropdown — categories, line items, discount windows, and memos all appear.
Go to Categories & Schedules. Click "Create New Category". Enter name (e.g., "Prime Contractor"), select Schedule 1, select National Category from lookup (decimal 4,2 format). AMENDED · ABC-2166
Expected: National Dues Amount auto-populates (read-only). Total = Chapter + State + Other + National. AMENDED · ABC-2767
Go to Additional Line Items. Create a flat $ item (e.g., "FEA $50") and a % item (e.g., "PAC 1%"). Set flags: Apply to New/Renewal, Voluntary Contribution toggle.
Expected: Items created with Active status. Browse shows $ and % symbols correctly. Type field editable after creation.
Go to Discount-If-Paid-By. Create discount: name "October Early-Bird", set From/To date range, toggle "Apply to total Dues". Choose flat $ or %.
Expected: Discount window saved. Dates are absolute calendar dates (NOT days from invoice date). Applied to total dues or specific line items as configured.
Go to Invoice Memos. Create memo with subject and body text. Verify HTML editor available.
Expected: Memo saved. Available for selection during batch invoicing. Memos are for informational display only (not preference sets).
Bug Risk Areas
National Category decimal format (4,2) rejected by field validation
National Dues Amount editable instead of read-only
Discount date range accepting days-from-invoice instead of calendar dates
Copy All not copying all sections — verify each section individually
Line item % type displaying as $ in browse grid
Notes

Preference Sets are NOT part of Dues Year Setup — they are created during Batch Invoicing Step 2. If you see Preference Set options here, that's a UI bug. Memos created here are just informational text that can be attached to invoices.

TC-1.2 Batch Invoicing — Generate Invoices for All Members HYBRID ▶ RUN TEST
Preconditions
  • Dues year fully configured (TC-1.1 complete)
  • Active members exist with assigned categories
  • Logged in as Chapter Staff
Navigate to Batch Invoicing. Select dues year. Click "Step 1: Select Members".
Expected: Member grid loads with all eligible members. Filters available: Category, Status, Payment Status.
Select all members (or use filter). Click "Step 2: Configure Invoice". Create a Preference Set — select line items, memo, and discount window to apply.
Expected: Preference Set created with selected options. Invoice preview shows correct amounts per member based on their category + selected line items + applicable discount.
Review the Invoice Preview. Verify line item totals, discount calculations, and national dues amounts.
Expected: Each invoice shows: Category Dues (Chapter + State + Other + National) + Additional Line Items − Discount (if within window). Total matches manually calculated amount.
Click "Generate Invoices". Verify batch completes without errors.
Expected: Invoices created for all selected members. Status = Open. Invoice numbers generated sequentially. Members can now view invoices in portal.
Bug Risk Areas
Discount applied outside its valid date window
National Dues amount not matching category's national rate
Voluntary line items appearing as mandatory on invoice
Preference Set not saving selected options between sessions
TC-1.3 Payment Collection — Record Payment and Close Invoice MANUAL
Preconditions
  • Open invoices exist from TC-1.2
  • Logged in as Chapter Staff with payment permissions
Navigate to Invoice Management. Find an open invoice. Click "Record Payment".
Expected: Payment modal shows invoice balance, payment method options (Check, CC, Cash, Wire), and amount field defaulting to full balance.
Enter full payment amount. Select "Check" as payment method. Enter check number. Click "Apply Payment".
Expected: Invoice status changes to Paid. Payment record created with date, amount, method, reference number. Balance = $0.00.
Try a partial payment on another invoice — enter less than the balance.
Expected: Invoice remains Open with reduced balance. Payment record shows partial amount. Member can make additional payments later.
Bug Risk Areas
Overpayment accepted (amount exceeding balance)
Invoice status stuck on Open after full payment
Partial payment rounding errors on percentages
TC-1.4 Monthly Reporting — Submit to National HYBRID
Preconditions
  • Paid invoices exist from TC-1.3
  • Monthly dues process not yet submitted for current month
  • Logged in as Chapter Staff
Navigate to Monthly Dues Screen. Select the current month/year. Verify the Dues Report Transition Date logic.
Expected: If current date is before transition date (e.g., 20th), default month = previous month. If after, default = current month.
Review the report summary. Verify paid invoices appear. Click "Submit to National".
Expected: Status changes to Submitted. Chapter's monthly dues screen becomes locked (read-only). National staff can now review.
Bug Risk Areas
Transition date logic off by one day
Submitted report still editable by chapter
Unpaid invoices appearing in monthly report
E2E-2: New Member Onboarding
Simulates a new company joining mid-year. Test member creation, dues category assignment, individual invoice generation, and portal payment collection.
Chapter Staff + Portal User Member Creation Individual Invoicing Portal Payments CRITICAL PRIORITY
TC-2.1 Create New Member with Dues Category Assignment HYBRID
Preconditions
  • Logged in as Chapter Staff with admin permissions
  • Dues year fully configured with categories
  • New company not yet in system
Navigate to Member Master. Click "Create New Member".
Expected: New member form opens with required fields: Company Name, Contact Name, Address, Phone.
Fill in member details: Company name (e.g., "New Tech Corp"), primary contact, address, membership type (select Regular).
Expected: Form validates all required fields. Status defaults to Active.
Scroll to Dues Category Assignment. Select dues category (e.g., "Prime Contractor") for current dues year.
Expected: Category dropdown shows all active categories. Selection is saved with member record.
Click "Save" to create the new member.
Expected: Member created with unique ID. Member now appears in Member Master grid. Invoice eligibility confirmed.
Bug Risk Areas
Member creation fails with duplicate company name validation too strict
Dues category assignment not persisting across sessions
New member not appearing in batch invoicing selection list
Status field defaulting to Inactive instead of Active
Notes

When a member is created mid-year, they are eligible for invoicing in the current dues year if a category is assigned. If you intend to test 15-for-12 or proration, make note of the join date — it affects invoice calculations.

TC-2.2 Generate Individual Invoice (Not Batch) MANUAL
Preconditions
  • New member created (TC-2.1)
  • No batch invoices already generated for this member in current year
From member detail page, click "Create Invoice" (individual invoice option).
Expected: Invoice creation modal or page opens. Current dues year is pre-selected.
Review calculated invoice amount: Base category dues + any selected optional line items − applicable discounts (if date window is active).
Expected: Amount calculated correctly based on member's dues category. If discount window is active, discount is applied automatically if within date range.
Click "Generate Invoice".
Expected: Invoice created with status Open. Invoice number assigned sequentially. Member can view it in portal.
Bug Risk Areas
Individual invoice creation blocked after batch invoices already generated
Invoice number conflicts with batch-generated numbers
Optional line items showing as mandatory on individual invoice
Notes

Individual invoices are typically generated for new members who join mid-year. They follow the same calculation rules as batch-generated invoices but are created one at a time outside the batch process.

TC-2.3 Member Pays via Portal and Views Receipt MANUAL
Preconditions
  • Invoice created for member (TC-2.2)
  • Member has active portal access
  • Payment processor configured (credit card gateway)
Log out of staff account. Log in to portal as member using credentials.
Expected: Member dashboard loads with company name and contact information visible.
Navigate to Open Invoices tab. Verify newly created invoice appears.
Expected: Invoice shows with due date, amount, and Pay Now button.
Click "Pay Now". Enter credit card details. Complete payment.
Expected: Payment processes. Invoice status changes to Paid. Confirmation screen displays payment reference number.
Click "View Receipt" or navigate to Invoice History tab.
Expected: Receipt shows invoice number, amount, payment date, reference number, and member details. Receipt is printable.
Bug Risk Areas
Invoice visible in staff system but not in member portal
Payment processor declining valid test credit cards
Invoice status not updating to Paid after successful payment
Receipt missing required fields or displaying incorrect amounts
E2E-3: Portal Payment Flow
Tests member portal access patterns: login, invoice discovery, payment processing, and receipt generation. Also tests no-login payment links.
Portal User Portal Login Payment Processing Security & No-Login Links
TC-3.1 Portal Login, Open Invoices Tab, Invoice History MANUAL
Preconditions
  • At least 2-3 invoices exist for test member: some open, some paid
  • Member has valid portal credentials
Navigate to portal login page. Enter member username and password.
Expected: Login succeeds. Portal dashboard loads with member's company name, contact info, and invoice overview.
Click Open Invoices tab.
Expected: Tab shows only invoices with Status = Open. Each invoice displays: invoice number, due date, amount, Pay Now button.
Click Invoice History tab.
Expected: Tab shows all invoices (Open, Paid, Overdue). Paid invoices show payment date and amount paid. Can filter by year or status.
Select a paid invoice. Verify it shows Status = Paid, payment date, and receipt available.
Expected: Paid invoices are clearly marked. Receipt link or button is available.
Bug Risk Areas
Portal login blocked despite valid credentials
Open Invoices tab showing paid invoices mixed in
Invoice History not filtering correctly or displaying incomplete data
No way to distinguish open from paid invoices visually
Notes

Portal invoice discovery is critical for member experience. Open invoices should be prominently featured. History should be searchable and sortable by date or amount.

TC-3.2 Portal Payment via Credit Card with No-Login Link MANUAL
Preconditions
  • Open invoice exists
  • Payment link (no-login) has been generated and is available
  • Test credit card details ready (use sandbox payment processor)
Open the no-login payment link in a new browser (not logged in).
Expected: Payment page loads showing invoice number, amount due, and credit card form. No login required.
Enter credit card details: card number, expiry, CVV. Click "Process Payment".
Expected: Payment processes. Confirmation page shows payment success with reference number.
Verify in staff system that invoice status changed to Paid and payment was recorded.
Expected: Invoice status is now Paid. Payment amount and date are logged in the system.
Bug Risk Areas
No-login link expired or token validation failing
Payment processing hanging or timing out
Payment recorded twice (idempotency issue)
Confirmation page not displaying payment reference
Notes

No-login payment links are generated by the system for convenient payment processing. These links typically expire after a set period (e.g., 30 days). Test both valid and expired links to ensure security.

E2E-4: Prorated Second Year
Tests the proration formula for members joining mid-year. Calculation: (Months Remaining / 12) × Annual Dues Amount. Verifies correct prorated invoice generation and payment.
Chapter Staff Invoice Calculation Proration Logic Business Rules
TC-4.1 Calculate Prorated Invoice (Months Remaining / 12 × Annual) AUTO
Preconditions
  • Member joins in month with at least 3+ months remaining in dues year (e.g., September join, December year-end)
  • Dues year setup complete with annual category amounts defined
  • Proration settings enabled for current chapter
Create or select a member with join date in September, assuming December year-end.
Expected: Member record shows join date. 4 months remaining (Sept, Oct, Nov, Dec).
Generate invoice for this member. System should auto-calculate prorated amount using formula: (4 months / 12 months) × annual dues.
Expected: Invoice amount = (4/12) × $1200 = $400 (example). Amount reflects only remaining months in year.
Verify invoice detail displays "Prorated" label or note explaining the calculation.
Expected: Clear indication that dues were prorated. Shows the month count and calculation formula.
Bug Risk Areas
Proration formula using (Months Elapsed / 12) instead of (Months Remaining / 12)
Month count off by one (including join month when it shouldn't)
Proration not applied despite proration settings enabled
Full annual amount charged instead of prorated amount
Notes

The proration formula (Months Remaining / 12 × Annual) is critical and must be exact. Some chapters may have different fiscal year dates (not Jan-Dec). Verify the correct month count for your chapter's fiscal year before testing.

TC-4.2 Verify Proration on Invoice and Payment MANUAL
Preconditions
  • Prorated invoice created (TC-4.1)
  • Invoice status = Open
View invoice details. Confirm the prorated amount is displayed clearly with the calculation shown.
Expected: Invoice clearly shows: "Prorated dues for X months: $YYYY"
Record a full payment of the prorated amount (not the full annual amount).
Expected: Payment accepted. Invoice status → Paid. Payment amount matches prorated invoice amount.
Verify in reporting that member is recognized for the prorated period only (not full year membership).
Expected: Reports show member as active for 4 months (prorated), not 12 months.
Bug Risk Areas
System not recognizing prorated payment as full payment (expecting annual amount)
Reporting showing member as full-year member despite prorated invoice
Invoice detail not showing prorated label or calculation
E2E-5: 15-for-12 Program
Tests the 15-for-12 early-payment incentive program. Members joining Oct/Nov/Dec pay for remainder of current year + full next year in one combined invoice.
Chapter Staff Special Pricing Invoice Calculation CRITICAL PRIORITY
TC-5.1 Member Joins Oct/Nov/Dec — Gets Current + Next Year AUTO
Preconditions
  • 15-for-12 program enabled at chapter level
  • Current date is between October 1 and December 31
  • Two consecutive dues years configured with identical annual amounts
Create a new member with join date = November 15 (assuming Jan-Dec fiscal year).
Expected: Member creation succeeds. Join date is in Q4 (Oct/Nov/Dec).
Generate invoice for this member. System should recognize 15-for-12 eligibility and create a combined invoice covering: (a) remainder of current year, (b) full next year.
Expected: Single invoice issued for both periods. Invoice notes indicate "15-for-12 Program" benefit. Amount = (2 months × annual rate) + (12 months × annual rate) = 14 months @ annual rate (essentially 15/12 discount).
Verify invoice shows both Dues Year 1 (current) and Dues Year 2 (next) line items with clear period coverage labels.
Expected: Invoice clearly indicates membership period spans two calendar years (e.g., "Nov 2024 - Dec 2025").
Bug Risk Areas
15-for-12 logic not triggering despite chapter setting enabled
Separate invoices created instead of combined invoice
Amount calculation wrong (charging full 12 months for current year instead of prorated)
Next year's dues year not being included in calculation
Notes

The 15-for-12 program is a retention incentive: members joining in final Q get bonus coverage. The math: 2-3 months remaining (current year) + 12 months (next year) = 14-15 months of membership for price of 12 months. This is a complex feature — verify both the eligibility trigger and the amount calculation carefully.

TC-5.2 Verify Combined Invoice Amount and Period Coverage MANUAL
Preconditions
  • 15-for-12 combined invoice created (TC-5.1)
  • Both current and next year dues year records exist
Open invoice detail. Verify it shows breakdown for both dues years with labels like "Current Year: $XXX (2 months remaining)" and "Next Year: $YYY (12 months)".
Expected: Invoice clearly breaks out each year's contribution. Subtotals for each period visible.
Verify total amount = (prorated current year) + (full next year). Calculate manually: if annual = $1200, current = (2/12)*$1200 = $200, next = $1200, then total = $1400.
Expected: Total invoice amount matches calculation exactly.
Record full payment of invoice. Verify status → Paid. Confirm member is now eligible for both years' benefits/access.
Expected: Payment accepted for combined amount. Member gains membership access for both current and next year.
Bug Risk Areas
Invoice breakdown unclear or missing year labels
Member only receiving access to current year despite paying for both
Partial payment not handled correctly for multi-year invoices
E2E-6: Start-Up Contractor
Negative test: Verify Start-Up Contractor member type has been REMOVED from system as per business decision. No UI options, no data, no invoicing capability.
Chapter Staff Negative Test Configuration Validation
TC-6.1 Verify Start-Up Contractor REMOVED from System MANUAL
Preconditions
  • Logged in as Chapter Staff with admin access
  • Any member creation form open
Navigate to Create New Member form. Look for Membership Type or Member Category dropdown.
Expected: Dropdown contains options like Regular, Life, Chapter-Only. "Start-Up Contractor" option should NOT be present.
Repeat: try member type filters in Batch Invoicing → Step 1 (Select Members).
Expected: Filter options do not include "Start-Up Contractor". Only legitimate membership types listed.
Repeat: check any member type filters in Dues Categories & Schedules setup.
Expected: No Start-Up Contractor option anywhere in category eligibility settings.
Bug Risk Areas
Start-Up Contractor option still present in dropdowns
Legacy database records for Start-Up Contractors causing system errors
References to Start-Up Contractor in read-only lookup lists
Notes

This is a "negative test" — we're verifying something should NOT exist. The Start-Up Contractor member type was deprecated and removed. Check all dropdown lists and filter options to ensure no residual UI references remain.

TC-6.2 Verify No Residual Data or UI References MANUAL
Preconditions
  • Full system access as admin
  • Database or member list viewable
Open Member Master browse list. Search for any members with type "Start-Up Contractor" or similar.
Expected: No results. No members with this type should exist (or if any legacy records exist, they should be marked inactive/archived).
Open any reporting module (Dues Aging, Revenue Summary, etc.). Check category filters.
Expected: No Start-Up Contractor option in any report filter or dimension.
Bug Risk Areas
Residual "Start-Up Contractor" members in database affecting reporting
Help text or documentation still referencing deprecated type
Error messages mentioning Start-Up Contractor
E2E-7: Invoice Adjustments
Tests invoice editing workflows: increasing/decreasing amounts, zeroing out, voiding. Also tests recalculation when member's dues category changes.
Chapter Staff Invoice Management Adjustment Logic Validation & Audit Trail
TC-7.1 Edit Invoice (Increase, Decrease, Zero Out, Void) MANUAL
Preconditions
  • Open invoice exists with status Open
  • No payment yet recorded on invoice
  • Logged in as Chapter Staff with edit permissions
Open invoice detail. Click "Edit Invoice".
Expected: Invoice form opens in edit mode. Original amounts displayed. Edit fields available for line items.
Increase one line item amount (e.g., PAC from $50 to $75). Save.
Expected: Line item updated. Total invoice amount increased by $25. Audit trail logs the change (who, when, before/after amounts).
Edit again. Decrease main dues from $1200 to $1000. Save.
Expected: Invoice amount reduced. Audit shows adjustment history.
Edit again. Zero out optional line item (set PAC to $0). Save.
Expected: Line item removed from invoice. Total updated accordingly.
Click "Void Invoice" button.
Expected: Invoice status → Voided. Amount zeroed. Member no longer sees it in Open Invoices (may see it in History marked as Voided).
Bug Risk Areas
Edit form not showing current amounts correctly
Changes not persisting after save
Audit trail missing or incomplete
Cannot edit invoices after status changes from Open
Notes

Invoice editability rules vary by status. Open invoices are fully editable. Submitted invoices may be read-only or partially editable. Paid invoices typically cannot be edited (use credit memo instead). Always check the current status before attempting edits.

TC-7.2 Recalculate After Category Change MANUAL
Preconditions
  • Member has two available dues categories (e.g., "Regular" and "Large")
  • Invoice generated for current category with Open status
Note current invoice amount and assigned category. Then, go to Member Detail and change dues category (e.g., Regular $1200 → Large $1800).
Expected: Category change saved on member record.
Return to the existing open invoice. Check if there's a "Recalculate" button or "Sync with Member" option.
Expected: Option to recalculate exists. Clicking it should update invoice based on new category rate.
Click "Recalculate". Verify new amount = new category rate (e.g., $1800).
Expected: Invoice amount updated. Audit trail shows "Category change — amount recalculated from $1200 to $1800".
If invoice was already paid under old category, verify payment is NOT automatically adjusted. Instead, a credit/adjustment note should document the overpayment or underpayment.
Expected: Paid invoices do NOT recalculate. Adjustment documented in audit trail or memo.
Bug Risk Areas
Recalculate not available or button hidden
Amount updated but audit trail not logged
Paid invoices recalculating unexpectedly
Member category change not triggering invoice refresh option
Notes

Invoice recalculation is a powerful feature but must be carefully audited. Changes to open invoices are reasonable, but paid invoices should not be modified without explicit approval. Always maintain an audit trail of recalculations.

E2E-8: Chapter-Only Members
Tests chapter-level-only members: members that exist only at the chapter level and cannot be reported to national. Verifies XREF validation prevents national submission.
Chapter + National Staff Member Validation National Reporting
TC-8.1 Chapter-Only with XREF Validation MANUAL
Preconditions
  • At least one chapter-only member exists (marked with flag or no XREF to national system)
  • Chapter has submitted a monthly dues report
  • National staff is reviewing the processing queue
As Chapter Staff, create invoice for a chapter-only member (or select one from existing).
Expected: Invoice generated normally. Chapter staff can invoice chapter-only members for local dues.
Submit monthly dues report. Try to include the chapter-only member in the submission to national.
Expected: System shows warning or prevents submission with message: "Chapter-only members cannot be submitted to national. Remove from submission or mark as excluded."
As National Staff, review the chapter's submission in the Processing Queue. Verify chapter-only member invoices are either excluded or flagged.
Expected: XREF validation prevents publishing invoices for members without national XREF. Either they're excluded automatically or flagged for review.
Attempt to publish invoices including chapter-only members.
Expected: Publish is blocked with clear error: "Cannot publish — [N] invoices lack national XREF. Remove or assign XREF before publishing."
Bug Risk Areas
Chapter-only invoices being submitted to national despite validation rules
XREF validation not running or warnings ignored
No way to distinguish chapter-only members in submission list
Error messages unclear about which members are missing XREF
Notes

Chapter-only members are a compliance constraint. They exist for chapter financial tracking but cannot be reported to the national organization (possibly due to regulatory or membership agreement limits). The system must prevent accidental national submission of these invoices.

E2E-9: National Monthly Processing (Full Cycle)
Tests the National staff's complete monthly workflow: reviewing multiple chapter submissions, approving, publishing to Wells Fargo, and handling exceptions.
National Staff Processing Queue Wells Fargo Reopening Months CRITICAL PRIORITY
TC-9.1 Processing Queue — Multi-Chapter Review & Publish HYBRID ▶ RUN TEST
Preconditions
  • At least 2-3 chapters have submitted monthly dues for the same month
  • Logged in as National Staff
Navigate to Monthly Processing Queue. Select the month/year.
Expected: Dashboard shows counts by status (Open, Submitted, Under Review, Approved, Published). Queue table shows chapters with submission data.
Verify the Dues Report Transition Date logic: if current date is before the transition date (e.g., 20th), default month should be the previous month. If after, default should be current month.
Select a chapter. Update status to "Under Review"
Expected: Status updates. Chapter's monthly dues screen should remain locked.
Try "Exclude Invoices" — select one member's invoice to exclude from processing
Expected: Modal lists all members with invoices. Selected ones are excluded from processing when National publishes.
Update status to "Approved"
Expected: Sign-off email auto-triggered to Chapter contact.
Select multiple chapters. Click "Publish Invoices to WF"
Expected: Publishes to Wells Fargo. National Status → Published. If any chapter already published for this month, a warning appears.
Try to publish the same chapter again for the same month
Expected: Warning about already-published status.
Use "Copy Contact Emails" — verify it copies dues contact emails from visible chapters
Bug Risk Areas
Dues Report Transition Date logic off by one day
Status transitions allowing skipped states (Open → Approved)
Excluded invoices still being published
No warning when re-publishing for the same month
Sign-off email not triggering on Approved status change
Notes

The Processing Queue is National-only. Chapter staff cannot access it. Status flow should be strictly: Open → Submitted → Under Review → Approved → Published. Skipping states (e.g., Open → Approved) should be blocked.

TC-9.2 Reopen Month & Resubmit After Correction MANUAL
Preconditions
  • A chapter has already submitted or been approved for a month
  • National staff needs to allow corrections
  • Logged in as National Staff
In the Processing Queue, select a chapter with "Approved" status. Click "Reopen".
Expected: Status reverts to Open. Chapter staff can now edit their monthly dues submission again.
Switch to Chapter Staff role. Verify monthly dues screen is now editable. Make a correction and resubmit.
Expected: Chapter can edit and resubmit. Status returns to Submitted. National sees updated data in queue.
Try to reopen a Published month (already sent to Wells Fargo).
Expected: System should warn or prevent reopening published months — data has already been sent externally.
Bug Risk Areas
Published months can be reopened (data already sent to WF)
Reopened chapter's data not refreshing in National queue
Multiple reopen/resubmit cycles creating duplicate records
E2E-10: Edge Cases
Tests boundary conditions and special scenarios: grace period payments, life members, PAC state values, email template fallbacks, dues aging reports, and revenue reconciliation.
Chapter + National Staff Edge Cases Business Rules Reporting & Validation
TC-10.1 Grace Period: Late Payment After Due Date MANUAL
Preconditions
  • Invoice created with due date = 30 days from now
  • Grace period setting configured (e.g., 30 days after due date)
  • Current date can be manipulated or invoice aged past due date
Let invoice age past due date (e.g., 35 days have passed). Check invoice status in portal.
Expected: Invoice marked as "Overdue" (red indicator). Payment still allowed within grace period.
Attempt payment within grace period (before 30 days past due). Submit payment.
Expected: Payment accepted. Invoice status → Paid. Overdue flag cleared. No penalties or late fees applied (grace period covers payment).
Create another invoice. Age it past due + grace period (e.g., 70 days). Try to pay.
Expected: If system enforces hard deadline after grace period, payment may be blocked with message: "Payment period has expired. Contact chapter staff." Otherwise, payment accepted but flagged for review.
Bug Risk Areas
Grace period not being recognized — invoice locked immediately after due date
Payment accepted after grace period when it should be blocked
Overdue indicator not displayed in portal
Grace period calculation including/excluding weekends incorrectly
Notes

Grace periods are common in financial systems. Confirm your chapter's grace period setting (typically 15-30 days post-due date). Late fees or interest may apply depending on chapter policy — verify if the system supports these charges.

TC-10.2 Life Members: Individual-Based Membership MANUAL
Preconditions
  • A member exists with type = "Life Member"
  • Dues year configured with life member category (one-time fee)
Create a life member (or select existing). Verify membership type field shows Life.
Expected: Member created with type = Life Member. Status = Active.
Generate invoice for life member. Verify amount = one-time fee (not annual recurring).
Expected: Invoice shows "Life Member Fee: $XXXX" (one-time charge). Amount should be large (single fee for lifetime membership).
Verify in batch invoicing that life members are included OR excluded based on chapter configuration.
Expected: Life members either show up in batch with one-time fee, or are explicitly excluded from annual batch runs (since they have paid lifetime).
Pay life member invoice. Verify status → Paid. Confirm no additional invoices should be generated in future years for this member.
Expected: After life membership payment, member is exempt from annual dues invoicing. Future batch runs do not include this member.
Bug Risk Areas
Life member included in annual batch invoicing (should be excluded)
Invoice amount using annual rate instead of one-time fee
No indicator preventing duplicate life member invoicing
Reporting including life members in annual revenue when they're one-time
Notes

Life members typically pay a higher one-time fee and are exempt from annual dues. The system must prevent recurring invoicing for life members. Reporting must distinguish life member revenue (one-time) from annual member revenue.

TC-10.3 PAC: State Values from state_iso_code AUTO
Preconditions
  • PAC (Political Action Committee) line item configured in dues year
  • State dues rates configured (keyed by state_iso_code: CA, NY, TX, etc.)
  • Members from different states in system
Select member in CA (California). Generate invoice.
Expected: PAC line item shows CA rate from lookup table (e.g., CA = $25/member).
Select member in NY (New York). Generate invoice.
Expected: PAC line item shows NY rate (e.g., NY = $30/member). Correct state-specific rate applied.
Change member's state from CA to TX in member master. Regenerate or recalculate invoice.
Expected: PAC line item updates to TX rate. System correctly re-looks up state_iso_code from updated member address.
Try batch invoicing with members from mixed states. Verify each invoice has correct state-based PAC rate.
Expected: Batch correctly applies different PAC rates per member based on state lookup. No blanket rate applied.
Bug Risk Areas
PAC rate not looking up state_iso_code correctly (using hardcoded rate)
Member state change not updating PAC rate on existing invoices
Batch invoicing using default/first state rate for all members
State lookup table missing entries causing null/zero PAC rates
Notes

PAC contributions are typically state-regulated and vary by state. The system must accurately look up state_iso_code from each member's address and apply the correct rate. This is a data integrity risk if lookups are misconfigured.

TC-10.4 Email Invoice with Template Fallback MANUAL
Preconditions
  • Invoice exists and ready to email
  • Member has valid email address on file
  • Email templates configured (chapter-specific and system default)
From invoice detail, click "Email Invoice". Select template from dropdown.
Expected: Chapter-specific template appears first (if configured). Default system template available as fallback.
Select chapter-specific template. Verify preview shows custom branding, message, and company info.
Expected: Template displays correctly with all merge fields populated (member name, invoice number, amount due, due date).
Send email using chapter-specific template. Verify email received by test mailbox.
Expected: Email sent successfully with custom template rendering. Attachment or link to invoice included.
Disable or delete chapter template. Retry email send.
Expected: System falls back to default template. Email sent with system default branding and message.
Verify default template has professional formatting and includes all required fields (not blank or placeholder text).
Expected: Default template is complete and usable — not a placeholder.
Bug Risk Areas
Email template dropdown not showing chapter-specific option
Merge fields not populating in email body
Template fallback not triggering when custom template disabled
Email not sent or bouncing without error message
Notes

Email templates are critical for member communication. Ensure the fallback mechanism works so that missing templates don't break invoice delivery. Test both happy path (template exists) and edge case (template deleted).

TC-10.5 Dues Aging Report & Revenue Summary MANUAL
Preconditions
  • Multiple invoices exist: open, paid, overdue from different time periods
  • Logged in as Chapter Staff with reporting access
Navigate to Reports"Dues Aging".
Expected: Report loads showing invoices bucketed by age: Current (not past due), 30 days, 60 days, 90+ days overdue.
Verify report shows breakdown: Count of invoices, total amount, and members by aging bucket.
Expected: Columns include Member Name, Invoice #, Invoice Amount, Days Overdue, Status. Totals calculated per bucket.
Navigate to Reports"Revenue Summary".
Expected: Report shows: Total dues billed, total paid, outstanding (open + overdue), by time period (month/quarter/year).
Verify revenue report breakdown by category: Regular, Large, Life Members, etc. Verify totals roll up correctly.
Expected: Revenue summary shows breakdown by member type and total revenue. Numbers reconcile with invoice totals.
Reconcile: Sum of (Paid + Outstanding) from Revenue Summary = Total Invoiced. Verify they match exactly.
Expected: Math checks out. No discrepancies between reports and underlying invoice data.
Bug Risk Areas
Aging buckets calculating days incorrectly (off by one day or rounding wrong)
Paid invoices still appearing in aging report
Revenue totals not matching underlying invoice amounts
Reports missing invoices or showing duplicates
Notes

Reporting is critical for financial management and national submission. Aging reports help identify collection risks. Revenue summaries provide chapter leadership with performance metrics. All numbers must be accurate and reconcilable.